home *** CD-ROM | disk | FTP | other *** search
/ TOS Silver 2000 / TOS Silver 2000.iso / programm / MM2_DEV / S / MOS / FUNCSTRI.D < prev    next >
Encoding:
Modula Definition  |  1990-05-06  |  2.5 KB  |  81 lines

  1. DEFINITION MODULE FuncStrings;
  2.  
  3. (*
  4.    String - Bibliothek
  5.  
  6.    Die hiesigen Funktionen bedienen sich einer Erweiterung des Megamax
  7.    Compilers: Er erlaubt beliebig große Funktionsergebnisse.
  8.  
  9.    Die hier vorhandenen Funktionen liefern alle als Funktionsergebnis
  10.    den Typ 'String' (siehe Strings-Modul).
  11.  
  12.    Dies erlaubt das Bilden von "Ausdrücken", wie z.B:
  13.        s:= UpStr ( ConcStr ( pfad, name ) );
  14.  
  15.    Achtung: Die Verwendung dieser Funktionen erschwert das Übertragen
  16.    solcher Programme auf andere Modula-2 Systeme (allerdings gibt es
  17.    mehrere Systeme, die diese Erweiterung haben) !
  18.  
  19.    Die Funktionen sind alle zu denen aus 'Strings' verwandt. Der 'valid'
  20.    Parameter wird hier nicht benötigt - illegale Übergaben oder Überläufe
  21.    werden ignoriert.
  22. *)
  23.  
  24. IMPORT Strings;
  25.  
  26. TYPE String = Strings.String;
  27.  
  28.  
  29. PROCEDURE Str ( REF source : ARRAY OF CHAR): String;
  30.   (*
  31.    * Dient zum Zuweisen beliebiger String-Variablen auf eine Variable
  32.    * vom Typ 'String' (80 Zeichen Länge).
  33.    *)
  34.  
  35. PROCEDURE DelStr ( REF source : ARRAY OF CHAR;
  36.                        pos    : INTEGER;
  37.                        len    : INTEGER ): String;
  38.   (*
  39.    * Löscht aus 'source' ab Position 'pos' 'len' Zeichen.
  40.    *)
  41.  
  42. PROCEDURE ConcStr ( REF first, second: ARRAY OF CHAR ): String;
  43.   (*
  44.    * Liefert einen zusammengefügten String aus 'first' und 'second'.
  45.    *)
  46.  
  47. PROCEDURE InsStr ( REF this : ARRAY OF CHAR;
  48.                        at   : INTEGER;
  49.                    REF into : ARRAY OF CHAR ): String;
  50.   (*
  51.    * Fügt 'this' an Position 'at' in 'into' ein.
  52.    *)
  53.  
  54. PROCEDURE CopyStr ( REF source : ARRAY OF CHAR;
  55.                         from   : INTEGER;
  56.                         len    : INTEGER ): String;
  57.   (*
  58.    * Liefert Teilstring aus 'source' ab Position 'from' mit maximaler
  59.    * Länge 'len'.
  60.    *)
  61.  
  62. PROCEDURE UpStr ( REF source: ARRAY OF CHAR ): String;
  63.   (* Liefert String in Großbuchstaben. *)
  64.  
  65. PROCEDURE LowStr ( REF source: ARRAY OF CHAR ): String;
  66.   (* Liefert String in Kleinbuchstaben. *)
  67.  
  68. PROCEDURE EatSpc ( REF source: ARRAY OF CHAR ): String;
  69.   (* Liefert String ohne Leerzeichen. *)
  70.  
  71. PROCEDURE BlankDel ( REF source: ARRAY OF CHAR ): String;
  72.   (* Liefert String ohne Leerzeichen und ohne TAB-Zeichen. *)
  73.  
  74. PROCEDURE LeadBlankDel ( REF source: ARRAY OF CHAR ): String;
  75.   (* Liefert String ohne führende Leerzeichen und TABs *)
  76.  
  77. PROCEDURE TrailBlankDel ( REF source: ARRAY OF CHAR ): String;
  78.   (* Liefert String ohne anhängende Leerzeichen und TABs *)
  79.  
  80. END FuncStrings.
  81.